Types d'éléments

En HTML tous les éléments ont un de ces 3 types : block, inline ou inline-block.

Type block

Les types "block" sont des éléments qui prennent toute la largeur possible de leur parent et ne peuvent pas être mis côte-à-côte avec d'autres éléments. Par exemple les titres <h1></h1> à <h6></h6> et la balise <p></p> sont des éléments de type block.

Il existe aussi un type block générique : la balise <div></div> qui ne possède aucune signification sémantique et qui sert uniquement à servir de "boîte de rangement".

Les blocks peuvent être redimensionnés et posséder une marge au dessus et en dessous.

Type inline

Les types "inline" sont des éléments qui restent dans leur ligne actuelle et qui font la taille de leur contenu. Par exemple les balises <strong></strong> et <i></i> sont des éléments de type inline

Attention : les éléments de type inline ne peuvent pas contenir d'éléments de type block !

Il existe aussi un type inline générique : la balise <span></span> qui ne possède aucune signification sémantique et qui sert uniquement à cibler un bout de texte en particulier pour le styliser par exemple :

            
                /* styles.css */
                .redtext{
                    color: red;
                }

            
        
            

                <!-- index.html-->
                <p>
                    Dans cette phrase, <span class="red-text">une partie seulement est sélectionné</span> grâce à la balise span.
                </p>

            
        

Les inlines ne peuvent pas être redimensionnés et ne peuvent pas posséder une marge au dessus et en dessous.

Type inline-block

Les éléments de type "inline-block" sont hybrides : comme les inlines ils prennent la largeur de leur contenu et restent sur la même ligne mais ils peuvent être redimensionnés et posséder une marge au dessus et en dessous comme des blocks.Par exemple, les balises <button>Un bouton</button> sont des inline-blocks.

Changer le type d'un élément

Si besoin, on peut changer le type d'un élément grâce à la propriété CSS "display". Exemple d'un paragraphe qui se comportera comme un type inline :

            

                /* styles.css */
                .test{
                    display: inline;
                }

            
        
            

                <!-- index.html-->
                <p>Ce paragraphe est un block</p>
                <p class="test">Ce paragraphe est un inline</p>

            
        

Modèle de boîte

Le modèle de boîte consiste à considérer qu'en HTML tous élément est inclus dans une boîte (dans une div par exemple).

Chaque boîte possède des propriétés qui peuvent être changées :

Centrer un block dans son parent

Pour centrer un élément de type "block" dans son parent, il faut sélectionner cet élément et lui appliquer la propriété "margin" en "auto" :

            

                /* Cet élément block sera centré dans son parent */
                .block{
                    width: 100px;
                    margin: auto;
                }

            
        
            

                <div>
                    <div class="block">lorem ipsum</div>
                </div>

            
        

Faire disparaître un élément

Grâce à la propriété "display", on peut aussi faire complètement disparaître un élément visuellement :

            

                /* Cet élément n'apparaîtra pas à l'écran */
                .test{
                    display: none;
                }